A distributed shared log is a data structure designed to provide durable ordered writes as a remote network service while allowing concurrent clients to both read and write to the log. On commodity hardware, slow networks and spinning disks make a distributed shared log too slow for high performance applications like a transactional database. But advances in new hardware such as low-latency high bandwidth networks, solid-state hard drives with low-latency reads and writes, and non-volatile Random Access Memory (RAM) make remotely hosted distributed storage tiers feasible for high performance data intensive applications. This high read and write throughput is often accomplished by providing multiple logical log streams. But while distributed shared logs have become feasible for high performance data intensive applications by providing multiple logical log streams, they do not retain a total global order over writes. This limits the use of a distributed shared log for many high performance applications like a transactional database.
In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.